home *** CD-ROM | disk | FTP | other *** search
- package java.nio;
-
- class ByteBufferAsCharBufferL extends CharBuffer {
- // $FF: renamed from: bb java.nio.ByteBuffer
- protected final ByteBuffer field_0;
- protected final int offset;
-
- ByteBufferAsCharBufferL(ByteBuffer var1) {
- super(-1, 0, var1.remaining() >> 1, var1.remaining() >> 1);
- this.field_0 = var1;
- int var2 = this.capacity();
- this.limit(var2);
- int var3 = this.position();
-
- assert var3 <= var2;
-
- this.offset = var3;
- }
-
- ByteBufferAsCharBufferL(ByteBuffer var1, int var2, int var3, int var4, int var5, int var6) {
- super(var2, var3, var4, var5);
- this.field_0 = var1;
- this.offset = var6;
- }
-
- public CharBuffer slice() {
- int var1 = this.position();
- int var2 = this.limit();
-
- assert var1 <= var2;
-
- int var3 = var1 <= var2 ? var2 - var1 : 0;
- int var4 = (var1 << 1) + this.offset;
-
- assert var4 >= 0;
-
- return new ByteBufferAsCharBufferL(this.field_0, -1, 0, var3, var3, var4);
- }
-
- public CharBuffer duplicate() {
- return new ByteBufferAsCharBufferL(this.field_0, this.markValue(), this.position(), this.limit(), this.capacity(), this.offset);
- }
-
- public CharBuffer asReadOnlyBuffer() {
- return new ByteBufferAsCharBufferRL(this.field_0, this.markValue(), this.position(), this.limit(), this.capacity(), this.offset);
- }
-
- // $FF: renamed from: ix (int) int
- protected int method_0(int var1) {
- return (var1 << 1) + this.offset;
- }
-
- public char get() {
- return Bits.getCharL(this.field_0, this.method_0(this.nextGetIndex()));
- }
-
- public char get(int var1) {
- return Bits.getCharL(this.field_0, this.method_0(this.checkIndex(var1)));
- }
-
- public CharBuffer put(char var1) {
- Bits.putCharL(this.field_0, this.method_0(this.nextPutIndex()), var1);
- return this;
- }
-
- public CharBuffer put(int var1, char var2) {
- Bits.putCharL(this.field_0, this.method_0(this.checkIndex(var1)), var2);
- return this;
- }
-
- public CharBuffer compact() {
- int var1 = this.position();
- int var2 = this.limit();
-
- assert var1 <= var2;
-
- int var3 = var1 <= var2 ? var2 - var1 : 0;
- ByteBuffer var4 = this.field_0.duplicate();
- var4.limit(this.method_0(var2));
- var4.position(this.method_0(0));
- ByteBuffer var5 = var4.slice();
- var5.position(var1 << 1);
- var5.compact();
- this.position(var3);
- this.limit(this.capacity());
- return this;
- }
-
- public boolean isDirect() {
- return this.field_0.isDirect();
- }
-
- public boolean isReadOnly() {
- return false;
- }
-
- public String toString(int var1, int var2) {
- if (var2 <= this.limit() && var1 <= var2) {
- try {
- int var3 = var2 - var1;
- char[] var4 = new char[var3];
- CharBuffer var5 = CharBuffer.wrap(var4);
- CharBuffer var6 = this.duplicate();
- var6.position(var1);
- var6.limit(var2);
- var5.put(var6);
- return new String(var4);
- } catch (StringIndexOutOfBoundsException var7) {
- throw new IndexOutOfBoundsException();
- }
- } else {
- throw new IndexOutOfBoundsException();
- }
- }
-
- public CharSequence subSequence(int var1, int var2) {
- int var3 = this.position();
- int var4 = this.limit();
-
- assert var3 <= var4;
-
- var3 = var3 <= var4 ? var3 : var4;
- int var5 = var4 - var3;
- if (var1 >= 0 && var2 <= var5 && var1 <= var2) {
- int var6 = var2 - var1;
- int var7 = this.offset + (var3 + var1 << 1);
-
- assert var7 >= 0;
-
- return new ByteBufferAsCharBufferL(this.field_0, -1, 0, var6, var6, var7);
- } else {
- throw new IndexOutOfBoundsException();
- }
- }
-
- public ByteOrder order() {
- return ByteOrder.LITTLE_ENDIAN;
- }
- }
-